<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>el与data的两种写法</title>
    <!-- 引入Vue -->
    <script type="text/javascript" src="../../../js/vue.js"></script>
</head>
<body>
<!-- 准备好一个容器 -->
<div id="root">
   <h1>你好，{{ name }}</h1>
</div>

<script type="text/javascript">
    Vue.config.productionTip = false

    const v = new Vue({
        // el: '#root',   //el第一种写法
        data:{
            name: '尚硅谷'
        }
    })
    console.log(v)
    setTimeout(() => {
        v.$mount('#root')   //el第二种写法     mount：挂载
    },1000)

    //data的两种写法
    new Vue({
        el:'#root',
        //data的第一种写法：对象式
        // data:{
        //     name:'尚硅谷'
        // }


        /**
         * 重要原则
         * @returns {{name: string}}
         * 由Vue管理的函数，一定不要写箭头函数，一旦写了箭头函数，this就不再是Vue实例了
         */

        //data的第二种写法：函数式
        // data:function (){
        //     console.log('@@@@',this)    //此处的this是vue实例对象
        //     return{
        //         name:'尚硅谷'
        //     }
        // }

        //data的第二种写法：函数式-----》简写
        data(){
            console.log('@@@@',this)    //此处的this是vue实例对象
            return{
                name:'尚硅谷'
            }
        }
    })
</script>
</body>
</html>
